package com.zimin.cloud.mine.pojo.system.view;

import lombok.*;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 菜单权限 视图对象
 * </p>
 *
 * @author zimin
 * @since 2021-12-30 11:05
 */
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class MenuVO implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 菜单名称
     */
    private String menuName;

    /**
     * 父菜单ID
     */
    private String parentId;

    /**
     * 请求地址
     */
    private String url;

    /**
     * 打开方式（menuItem页签 menuBlank新口
     */
    private String target;

    /**
     * 菜单类型（M目录 C菜单 F按钮）
     */
    private String menuType;

    /**
     * 菜单状态（0显示 1隐藏）
     */
    private String visible;

    /**
     * 是否刷新（0刷新 1不刷新）
     */
    private String refresh;

    /**
     * 权限标识
     */
    private String perms;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 显示顺序
     */
    private Integer sort;

    /**
     * <p>状态(1 正常 0 停用)</p>
     */
    private Integer status;

    /**
     * 子菜单列表
     */
    List<MenuVO> children;

    /**
     * 前端select 自定义属性
     */
    private String label;

    /**
     * 前端select 自定义属性
     */
    private String value;

    private LocalDateTime createTime;

    public String getLabel() {
        return menuName;
    }

    public String getValue() {
        return id;
    }
}
